Jak zjistit IP adresu pocitace, kdyz znam port
Otázka od: Petr Brant
26. 11. 2002 10:34
Subject: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice
se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu.
Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo
elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?
Zdravim a diky predem
RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234
Odpovedá: Sula Milos
26. 11. 2002 11:36
A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle IP adresy
ale podle nazvu PC ?
Milos
-----Original Message-----
From: Petr Brant [mailto:brant@dcomm.cz]
Sent: Tuesday, November 26, 2002 9:59 AM
To: Konference Delphi (delphi-l@clexpert.cz); Konference Pandora
(delphin@pandora.cz)
Subject: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice se k
nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu. Neni
sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo elegantni.
Resil jsem to tak, ze server po startu zapise IP adresu do souboru a stanice si
jej prectou, ale to fungovalo jen do te doby, nez se u jednoho zakaznika
nainstaloval server na pocitac se dvema sitovymi kartami a on zapsal do souboru
podle zakona schvalnosti zrovna tu nevhodnou. Nemate nekdo tip, jak "projit"
sit a zjistit IP adresu pocitace, na kterem muj server bezi?
Zdravim a diky predem
RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234
Odpovedá: Petr Langer
26. 11. 2002 12:29
Ahoj,
pokud to chces pouzit v lokalni siti, tak bud muzes pouzit WNetEnumResource
pro zjisteni vsech stroju na siti a pak vsem osahat port, jestli je tam
tvoje sluzba, nebo muzes pouzit sitovy broadcasting z klienta s tim, ze to
server zachyti a posle zpet odpoved (nikdy jsem to nedelal, ale melo by to
fungovat, pouziva to standardne SQL server a myslim si, ze i ten
WNetEnumResource dela neco podobneho...)
HTH
Petr
btw. jakym zpusobem zapisuje server tu svoji adresu? Jak vi bud server na
jake pocitace ji ma zapsat, nebo jak vi klienti na jaky share se maji
podivat? To musis mis stejne natvrdo, ne?
----- Original Message -----
From: "Petr Brant" <brant@dcomm.cz>
To: <delphi-l@clexpert.cz>; <delphin@pandora.cz>
Sent: Tuesday, November 26, 2002 9:58 AM
Subject: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice
se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu.
Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo
elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?
Zdravim a diky predem
RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234
Odpovedá: Petr Brant
26. 11. 2002 13:03
DNS tam pravdepodobne bezi, ale nelze zarucit jeho korektni konfiguraci. A
navic klient nezna jmeno toho pocitace, ledaze by se zadalo rucne, coz je
prave to, co nechci. Jde mi o to automaticke rozpoznani.
RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234
Subject: RE: Jak zjistit IP adresu pocitace, kdyz znam port
A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle
IP adresy ale podle nazvu PC ?
Subject: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP
adresu. Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to
malo elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?
Odpovedá: Dalibor Toman
26. 11. 2002 13:55
>A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle
IP adresy ale podle nazvu PC ?
tazateli jde zrejme o to, ze v kazde firemni siti muze mit dany server
jine IPcko - cili muze mit i jine lokalni jmeno.
>Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice se k nemu pripojuji, ma to >vsak jeden hacek: neznaji dopredu
jeho IP adresu. Neni sice problem to u vsech nastavit "natvrdo", ale
>pripada mi to malo elegantni. Resil jsem to tak, ze server po startu
zapise IP adresu do souboru a stanice >si jej prectou, ale to
fungovalo jen do te doby, nez se u jednoho zakaznika nainstaloval
server na pocitac >se dvema sitovymi kartami a on zapsal do souboru
podle zakona schvalnosti zrovna tu nevhodnou. >Nemate nekdo tip, jak
"projit" sit a zjistit IP adresu pocitace, na kterem muj server bezi?
optimalni varianta je podle mne (pokud se spoleha pouze na TCP/IP
protokol):
1) broadcast dotaz od klienta - proste broadcastne UDP dotaz na
nejakem portu (muze byt stejny jako ten TCP port na kterym server
posloucha). Server musi poslouchat i na tom UDP portu - posle odpoved
a klient uz vi kde server je (IP odesilatele UDP datagramu je ta
prava)
2) server cas od casu posila sam UDP broadcasty a klienti si je
chytaji. Problem je, ze se musi pockat az ten broadcast prijde
(budou-li se posilat moc casto zbytecne se zvysuje traffic)
oproblem u obou metod je ten, ze broadcasty se nebudou sirit do
segmentu oddelenych routery (tam nezbyde nic jineho nez klienty
konfigurovat natvrdo)
Zdravi
D. Toman
Odpovedá: Petr Brant
26. 11. 2002 13:31
Odpoved na tvunj dotaz: Pro vsechny stanice je spolecny sdileny adresar s
daty. Tam zapise server svou IP adresu do textoveho souboru a kazda stanice
vi, jak se tento soubor jmenuje. Takze si ho precte a hotovo. Nemas nahodou
nejaky funkcni priklad na to WNetEnumResource? Nikdy jsem s tim nedelal, tak
at mevymyslim jiz vymyslene. Diky a zdravim
RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234
Subject: Re: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj,
pokud to chces pouzit v lokalni siti, tak bud muzes pouzit
WNetEnumResource
pro zjisteni vsech stroju na siti a pak vsem osahat port, jestli je
tam
tvoje sluzba, nebo muzes pouzit sitovy broadcasting z klienta s tim,
ze to
server zachyti a posle zpet odpoved (nikdy jsem to nedelal, ale melo
by to
fungovat, pouziva to standardne SQL server a myslim si, ze i ten
WNetEnumResource dela neco podobneho...)
btw. jakym zpusobem zapisuje server tu svoji adresu? Jak vi bud
server na
jake pocitace ji ma zapsat, nebo jak vi klienti na jaky share se
maji
podivat? To musis mis stejne natvrdo, ne?
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice
se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP
adresu.
Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to
malo
elegantni. Resil jsem to tak, ze server po startu zapise IP adresu
do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby,
nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi
kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou.
Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem
muj
server bezi?
Odpovedá: Robert Suska
26. 11. 2002 14:06
AHoj
A co keby server vysielal nieco po broadcaste na nejakom portre trebars tu
konfiguraciu a v tom programe by si mal tento port nastaveny pevne. Neslo by
to tak ? Ak sa mylim tak sorry.
Robo
>DNS tam pravdepodobne bezi, ale nelze zarucit jeho korektni konfiguraci. A
>navic klient nezna jmeno toho pocitace, ledaze by se zadalo rucne, coz je
>prave to, co nechci. Jde mi o to automaticke rozpoznani.
>RNDr. Petr Brant [brant@dcomm.cz]
Odpovedá: Petr Palicka
26. 11. 2002 14:01
> navic klient nezna jmeno toho pocitace, ledaze by se zadalo
> rucne, coz je prave to, co nechci. Jde mi o to automaticke rozpoznani.
pak muzes IMHO (ja do siti moc nedelam ;) poslat
UDP paket, coz jestli se nepletu, tak je jakesi
vsesmerove obeslani site a serverem si poslat IP
na odeselitale UDP paketu a potom uz by to snad slo...
peca
Odpovedá: Dalibor Toman
26. 11. 2002 16:00
>pak muzes IMHO (ja do siti moc nedelam ;) poslat
>UDP paket, coz jestli se nepletu, tak je jakesi
>vsesmerove obeslani site
UDP samo o sobe neznamene vsesmerove vysilani. Ale je mozne UDP packet
takto vyslat
>a serverem si poslat IP
>na odeselitale UDP paketu a potom uz by to snad slo...
to neni mozne, protoze v pripade serveru s vice sitovkama (nebo vice
IPcky na sitovce) aplikace nemuze vedet jaka IP adresa je z klientske
stanice dosazitelna (samozrejme lze to odhadnout ale je to zbytecnej
kod vyuzivajici funkce, ktere nejsou na vsech verzich windowsu
dostupne). Reseni je aby klient sam pouzil to IPcko ktere bude
odesilatelem UDP packetu ze serveru. A server by mel na dotazy klientu
naslouchat na vsech IP (jista bezpecnost - aby nereagoval na packety
napriklad z internetu - je ale ovsem zadouci a mela by byt
implementovana)
Zdravi
D. Toman
Odpovedá: Petr Langer
26. 11. 2002 16:37
Subject: Re: Jak zjistit IP adresu pocitace, kdyz znam port
No, tazke musis mit natvrdo dany nazev sdileneho adresare, tj. stejne, jako
bys mel nekde natvrdo nazev stroje, nebo IP... takze o nicem...
Nicmene, priklad sice nemam, ale magicky dotaz na googlu na
"WNetEnumResource Delphi" mi prozradil hned nekolik kouzelnych adres ,
napr.
http://www.infojet.cz/program/delphi/tips/tip0012.html
nebo
http://www.elists.org/pipermail/delphi/2001-March/009012.html
a nekolik dalsich...
Hledat chlapci, hledat, jinak se vsichni budeme zbytecne zdrzovat, kdyz to
muzeme najit snadno a rychle...
HTH
pl
----- Original Message -----
From: "Petr Brant" <brant@dcomm.cz>
Odpoved na tvunj dotaz: Pro vsechny stanice je spolecny sdileny adresar s
daty. Tam zapise server svou IP adresu do textoveho souboru a kazda stanice
vi, jak se tento soubor jmenuje. Takze si ho precte a hotovo. Nemas nahodou
nejaky funkcni priklad na to WNetEnumResource? Nikdy jsem s tim nedelal, tak
at mevymyslim jiz vymyslene. Diky a zdravim
RNDr. Petr Brant [brant@dcomm.cz]